Plan Supervision Messages

Abort

Stops any executing actions and put the system in a standby mode.

  • Abbreviation: Abort
  • Identification Number: 550
  • Fixed Payload Size: 0

This message has no fields.

Plan Specification

Identity and description of a plan’s general parameters, associated with plan loading (i.e. load plan command in PlanCommand).

A plan specification is defined by a plan identifier, a set of maneuver specifications and a start maneuver from that set.

See the Plan Maneuver message for details on maneuver specification.

  • Abbreviation: PlanSpecification
  • Identification Number: 551
  • Fixed Payload Size: 0
Name Abbreviation Unit Type Description Range
Plan ID plan_id - plaintext The plan’s identifier. Same as field type
Plan Description description - plaintext Verbose text description of plan. Same as field type
Namespace vnamespace - plaintext Namespace for plan variables. Same as field type
Plan Variables variables - message-list Plan variables. Same as field type
Starting maneuver start_man_id - plaintext Indicates the id of the starting maneuver for this plan. Same as field type
Maneuvers maneuvers - message-list List of maneuver specifications. Same as field type
Transitions transitions - message-list List of maneuver specifications. Same as field type
Start Actions start_actions - message-list Contains an optionally defined ‘MessageList’ for actions fired on plan activation. Same as field type
End Actions end_actions - message-list Contains an optionally defined ‘MessageList’ for actions fired on plan termination. Same as field type

Plan Maneuver

Named plan maneuver.

  • Abbreviation: PlanManeuver
  • Identification Number: 552
  • Fixed Payload Size: 0
Name Abbreviation Unit Type Description Range
Maneuver ID maneuver_id - plaintext The maneuver ID. Same as field type
Maneuver Specification data - message The maneuver specification. Same as field type
Start Actions start_actions - message-list Contains an optionally defined ‘MessageList’ for actions fired on plan activation. Same as field type
End Actions end_actions - message-list Contains an optionally defined ‘MessageList’ for actions fired on plan termination. Same as field type

Plan Transition

Describes a plan transition within a plan specification. A transition states the vehicle conditions that must be met to signal the transition, the maneuver that should be started as a result, and an optional set of actions triggered by the transition.

  • Abbreviation: PlanTransition
  • Identification Number: 553
  • Fixed Payload Size: 0
Name Abbreviation Unit Type Description Range
Source source_man - plaintext Comma separated list of maneuver IDs, or the special value ‘.’ to identify a global plan transition. Same as field type
Destination Maneuver Name dest_man - plaintext Target maneuver name. If it equals the special value ‘_done_’ then plan should terminate with a success status. If it equals the special value ‘_error_’ then the plan should terminate with an error status. Same as field type
Transition conditions conditions - plaintext Comma separated list of conditions for transition. Each condition identifier corresponds to a known predicate which is interpreted and tested internally by the vehicle. Same as field type
Transition actions actions - message-list Messages processed when the transition is triggered. Same as field type

Emergency Control

No description

  • Abbreviation: EmergencyControl
  • Identification Number: 554
  • Fixed Payload Size: 0
Name Abbreviation Unit Type Description Range
Command command Enumerated uint8_t   Same as field type
Plan Specification plan - message   Same as field type

Emergency Control State

No description

  • Abbreviation: EmergencyControlState
  • Identification Number: 555
  • Fixed Payload Size: 0
Name Abbreviation Unit Type Description Range
State state Enumerated uint8_t   Same as field type
Plan Id plan_id - plaintext   Same as field type
Communications Level comm_level % uint8_t   Same as field type

Plan DB

Request/reply to plan database.

  • Abbreviation: PlanDB
  • Identification Number: 556
  • Fixed Payload Size: 0
Name Abbreviation Unit Type Description Range
Type type Enumerated uint8_t Indicates if the message is a request, or a reply to a previous request. Same as field type
Operation op Enumerated uint8_t

Indicates the operation affecting the DB.

The operation may relate to a single plan or the entire plan DB. For each request, a plan DB may reply with any number of ‘in progress’ replies followed by a success or a failure reply.

The ‘op’, ‘request_id’ and ‘plan_id’ fields of a request will be echoed in one or more responses to that request. The operation at stake also determines a certain type of the ‘arg’ field, and whether or not the ‘plan_id’ field needs to be set.

Same as field type
Request ID request_id - uint16_t Request ID. This may be used by interfacing modules, e.g. using sequence counters, to annotate requests and appropriately identify replies Same as field type
Plan ID plan_id - plaintext Plan identifier for the operation, if one is required. Same as field type
Argument arg - message Request or reply argument. Same as field type
Complementary Information info - plaintext Human-readable complementary information. For example this may be used to detail reasons for failure, or to report in-progress information. Same as field type

Plan DB State

Characterizes the state of the entire plan database.

  • Abbreviation: PlanDBState
  • Identification Number: 557
  • Fixed Payload Size: 0
Name Abbreviation Unit Type Description Range
Plan – Count plan_count - uint16_t Number of stored plans. Same as field type
Plan – Size of all plans plan_size - uint32_t Size of all plans.The value equals the sum of the IMC payload sizes for ‘PlanSpecification’ stored in the DB. Same as field type
Last Change – Time change_time s fp64_t Time of last change (Epoch time). Same as field type
Last Change – Source Address change_sid - uint16_t IMC address for source of last DB change. Same as field type
Last Change – Source Name change_sname - plaintext IMC node name for source of last DB change. Same as field type
MD5 md5 - rawdata MD5 database verification code. The MD5 hash sum is computed over the stream formed by the MD5 of all plans, ordered by plan id, in compliance with RFC 1321. Same as field type
Plan info plans_info - message-list Individual information for plans. Same as field type

Plan DB Information

No description

  • Abbreviation: PlanDBInformation
  • Identification Number: 558
  • Fixed Payload Size: 0
Name Abbreviation Unit Type Description Range
Plan ID plan_id - plaintext Plan identifier. Same as field type
Plan Size plan_size - uint16_t Plan size. The value equals the IMC message payload of the associated ‘PlanSpecification’ message in bytes. Same as field type
Last Changed – Time change_time - fp64_t Time of last change to the plan (Epoch time). Same as field type
Last Change – Source Address change_sid - uint16_t IMC address for source of last change to the plan. Same as field type
Last Change – Source Name change_sname - plaintext IMC node name for source of last change to the plan. Same as field type
MD5 md5 - rawdata MD5 plan verification code. The value is calculated over the message payload of the ‘PlanSpecification’, in compliance with RFC 1321. Same as field type

Plan Control

Plan control request/reply.

  • Abbreviation: PlanControl
  • Identification Number: 559
  • Fixed Payload Size: 0
Name Abbreviation Unit Type Description Range
Type type Enumerated uint8_t Indicates if the message is a request or a reply to a previous request. The op, request_id and plan_id fields of a request will be echoed in one or more responses to that request. Same as field type
Operation op Enumerated uint8_t Plan control operation. Same as field type
Request ID request_id - uint16_t Request ID. This may be used by interfacing modules e.g. using sequence counters. to annotate requests and appropriately identify replies. Same as field type
Plan Identifier plan_id - plaintext The identifier for the plan to be stopped / started / loaded / retrieved according to the command requested (op field). Same as field type
Flags flags Bitfield uint16_t   Same as field type
Request/Reply Argument arg - message Complementary message argument for requests/replies. Same as field type
Complementary Info info - plaintext Complementary human-readable information. This is used in association to replies. Same as field type

Plan Control State

State of plan control.

  • Abbreviation: PlanControlState
  • Identification Number: 560
  • Fixed Payload Size: 0
Name Abbreviation Unit Type Description Range
State state Enumerated uint8_t Describes overall state. Same as field type
Plan – ID plan_id - plaintext Identifier of plan currently loaded. Same as field type
Plan – ETA plan_eta s int32_t Current plan estimated time to completion. The value will be -1 if the time is unknown or undefined. Same as field type
Plan – Progress plan_progress % fp32_t Current plan estimated progress in percent. The value will be negative if unknown or undefined. Same as field type
Maneuver – ID man_id - plaintext Current node ID, when executing a plan. Same as field type
Maneuver – Type man_type - uint16_t Type of maneuver being executed (IMC serialization id), when executing a plan. Same as field type
Maneuver – ETA man_eta s int32_t Current node estimated time to completion, when executing a plan. The value will be -1 if the time is unknown or undefined. Same as field type
Last Plan Outcome last_outcome Enumerated uint8_t Outcome of the last executed plan. Same as field type

Plan Variable

A plan variable.

  • Abbreviation: PlanVariable
  • Identification Number: 561
  • Fixed Payload Size: 0
Name Abbreviation Unit Type Description Range
Name name - plaintext   Same as field type
Value value - plaintext   Same as field type
Type type Enumerated uint8_t   Same as field type
Access Type access Enumerated uint8_t   Same as field type

Plan Generation

This message is used to order the generation of plans based on id and set of parameters.

  • Abbreviation: PlanGeneration
  • Identification Number: 562
  • Fixed Payload Size: 0
Name Abbreviation Unit Type Description Range
Command cmd Enumerated uint8_t   Same as field type
Operation op Enumerated uint8_t   Same as field type
Plan Identifier plan_id - plaintext The name of the plan to be generated. Same as field type
Parameters params TupleList plaintext An optional list of parameters to be used by the plan generation module. Same as field type

Leader State

This message defines the formation leader state.

LeaderState is a complete description of the leader state in terms of parameters such as position, orientation and velocities at a particular moment in time.

The system position is given by a North-East-Down (NED) local tangent plane displacement (x, y, z) relative to an absolute WGS-84 coordinate (latitude, longitude, height above ellipsoid).

The symbols for position and attitude as well as linear and angular velocities were chosen according to SNAME’s notation (1950). The body-fixed reference frame and Euler angles are depicted next:

_images/euler-lauv.png
align:center

Euler angles

  • Abbreviation: LeaderState
  • Identification Number: 563
  • Fixed Payload Size: 0
Name Abbreviation Unit Type Description Range
Group Name group_name - plaintext Name for the formation group. Same as field type
Action on the leader state op Enumerated uint8_t Action on the formation leader state variables Same as field type
Latitude (WGS-84) lat rad fp64_t WGS-84 Latitude. Same as field type
Longitude (WGS-84) lon rad fp64_t WGS-84 Longitude. Same as field type
Height (WGS-84) height m fp32_t Height above the WGS-84 ellipsoid. Same as field type
Offset north x m fp32_t The North offset of the North/East/Down field with respect to LLH. Same as field type
Offset east y m fp32_t The East offset of the North/East/Down field with respect to LLH. Same as field type
Offset down z m fp32_t The Down offset of the North/East/Down field with respect to LLH. Same as field type
Rotation over x axis phi rad fp32_t The phi Euler angle from the vehicle’s attitude. Same as field type
Rotation over y axis theta rad fp32_t The theta Euler angle from the vehicle’s attitude. Same as field type
Rotation over z axis psi rad fp32_t The psi Euler angle from the vehicle’s attitude. Same as field type
Ground Velocity X (North) vx m/s fp32_t Ground Velocity xx axis velocity component. Same as field type
Ground Velocity Y (East) vy m/s fp32_t Ground Velocity yy axis velocity component. Same as field type
Ground Velocity Z (Down) vz m/s fp32_t Ground Velocity zz axis velocity component. Same as field type
Angular Velocity in x p rad/s fp32_t The angular velocity over body-fixed xx axis (roll). Same as field type
Angular Velocity in y q rad/s fp32_t The angular velocity over body-fixed yy axis (pitch). Same as field type
Angular Velocity in z r rad/s fp32_t The angular velocity over body-fixed zz axis (yaw). Same as field type
Stream Velocity X (North) svx m/s fp32_t Stream Velocity xx axis velocity component. Same as field type
Stream Velocity Y (East) svy m/s fp32_t Stream Velocity yy axis velocity component. Same as field type
Stream Velocity Z (Down) svz m/s fp32_t Stream Velocity zz axis velocity component. Same as field type

Plan Statistics

No description

  • Abbreviation: PlanStatistics
  • Identification Number: 564
  • Fixed Payload Size: 0
Name Abbreviation Unit Type Description Range
Plan Identifier plan_id - plaintext The name of the plan to be generated. Same as field type
Type type Enumerated uint8_t Type of plan statistics, if they are launched before, during or after the plan execution. Same as field type
Properties properties Bitfield uint8_t   Same as field type
Durations durations TupleList plaintext Maneuver and plan duration statistics in seconds, for example: “Total=1000,Goto1=20,Rows=980” Same as field type
Distances distances TupleList plaintext Distances travelled in meters in each maneuver and/or total: “Total=2000,Rows=1800,Elevator=200” Same as field type
Actions actions TupleList plaintext List of components active by plan actions during the plan and time active in seconds: “Sidescan=100,Camera Module=150” Same as field type
Fuel fuel TupleList plaintext Amount of fuel spent, in battery percentage, by different parcels (if applicable): “Total=35,Hotel=5,Payload=10,Motion=20,IMU=0” Same as field type